<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Oxygine: oxygine::UberShaderProgram Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Oxygine
   &#160;<span id="projectnumber">1</span>
   </div>
   <div id="projectbrief">2g game engine</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceoxygine.html">oxygine</a></li><li class="navelem"><a class="el" href="classoxygine_1_1_uber_shader_program.html">UberShaderProgram</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classoxygine_1_1_uber_shader_program-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">oxygine::UberShaderProgram Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for oxygine::UberShaderProgram:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classoxygine_1_1_uber_shader_program.png" usemap="#oxygine::UberShaderProgram_map" alt=""/>
  <map id="oxygine::UberShaderProgram_map" name="oxygine::UberShaderProgram_map">
<area href="classoxygine_1_1_uber_shader_program_base.html" alt="oxygine::UberShaderProgramBase" shape="rect" coords="0,56,206,80"/>
<area href="classoxygine_1_1_restorable.html" alt="oxygine::Restorable" shape="rect" coords="0,0,206,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a101100ccd45b153f13c8cb551ab31714"><td class="memItemLeft" align="right" valign="top"><a id="a101100ccd45b153f13c8cb551ab31714"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<b>ALPHA_PREMULTIPLY</b> = 1, 
<b>SEPARATE_ALPHA</b> = 1 &lt;&lt; 1, 
<b>MASK_R_CHANNEL</b> = 1 &lt;&lt; 2, 
<b>MASK</b> = 1 &lt;&lt; 3, 
<br />
&#160;&#160;<b>ADD_COLOR</b> = 1 &lt;&lt; 4, 
<b>_SIZE</b> = 1 &lt;&lt; 5
<br />
 }</td></tr>
<tr class="separator:a101100ccd45b153f13c8cb551ab31714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab40349339441fd48b3288d4d73f9383c"><td class="memItemLeft" align="right" valign="top"><a id="ab40349339441fd48b3288d4d73f9383c"></a>enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>SAMPLER_BASE</b>, 
<b>SAMPLER_ALPHA</b>, 
<b>SAMPLER_MASK</b>, 
<b>SAMPLER_NUM</b>
 }</td></tr>
<tr class="separator:ab40349339441fd48b3288d4d73f9383c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classoxygine_1_1_uber_shader_program_base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classoxygine_1_1_uber_shader_program_base')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classoxygine_1_1_uber_shader_program_base.html">oxygine::UberShaderProgramBase</a></td></tr>
<tr class="memitem:a52416addd1daf705ed8c23ae08f072a6 inherit pub_types_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="a52416addd1daf705ed8c23ae08f072a6"></a>
typedef Closure&lt; void(<a class="el" href="classoxygine_1_1_i_video_driver.html">IVideoDriver</a> *, <a class="el" href="classoxygine_1_1_shader_program.html">ShaderProgram</a> *)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ShaderUniformsCallback</b></td></tr>
<tr class="separator:a52416addd1daf705ed8c23ae08f072a6 inherit pub_types_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classoxygine_1_1_restorable"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classoxygine_1_1_restorable')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classoxygine_1_1_restorable.html">oxygine::Restorable</a></td></tr>
<tr class="memitem:af77205d462cee3c718336e7ccf4ae29f inherit pub_types_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="af77205d462cee3c718336e7ccf4ae29f"></a>
typedef std::vector&lt; <a class="el" href="classoxygine_1_1_restorable.html">Restorable</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>restorable</b></td></tr>
<tr class="separator:af77205d462cee3c718336e7ccf4ae29f inherit pub_types_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a800c6237f78d6f2e3a74173695172f inherit pub_types_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="a7a800c6237f78d6f2e3a74173695172f"></a>
typedef Closure&lt; void(<a class="el" href="classoxygine_1_1_restorable.html">Restorable</a> *, void *userData)&gt;&#160;</td><td class="memItemRight" valign="bottom"><b>RestoreCallback</b></td></tr>
<tr class="separator:a7a800c6237f78d6f2e3a74173695172f inherit pub_types_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a39fda90a58005b013afd2e1e57f87379"><td class="memItemLeft" align="right" valign="top"><a id="a39fda90a58005b013afd2e1e57f87379"></a>
<a class="el" href="classoxygine_1_1_shader_program.html">ShaderProgram</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getShaderProgram</b> (int flags) override</td></tr>
<tr class="separator:a39fda90a58005b013afd2e1e57f87379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5721baf33eac8ef349d3f5c5327c5c40"><td class="memItemLeft" align="right" valign="top"><a id="a5721baf33eac8ef349d3f5c5327c5c40"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>apply</b> (<a class="el" href="classoxygine_1_1_i_video_driver.html">IVideoDriver</a> *driver, spNativeTexture base, spNativeTexture alpha)</td></tr>
<tr class="separator:a5721baf33eac8ef349d3f5c5327c5c40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classoxygine_1_1_uber_shader_program_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classoxygine_1_1_uber_shader_program_base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classoxygine_1_1_uber_shader_program_base.html">oxygine::UberShaderProgramBase</a></td></tr>
<tr class="memitem:ad335ccb64e5a04025c5d9004d409a6b7 inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="ad335ccb64e5a04025c5d9004d409a6b7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> (const std::vector&lt; unsigned char &gt; &amp;baseShader, const char *prepend=&quot;&quot;, const char *append=&quot;&quot;)</td></tr>
<tr class="separator:ad335ccb64e5a04025c5d9004d409a6b7 inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56fed4726f25468783c9749f2963bb3a inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="a56fed4726f25468783c9749f2963bb3a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
<tr class="separator:a56fed4726f25468783c9749f2963bb3a inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50ee3964cb33f7cf00abd0290ad744ad inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="a50ee3964cb33f7cf00abd0290ad744ad"></a>
ShaderUniformsCallback&#160;</td><td class="memItemRight" valign="bottom"><b>getShaderUniformsCallback</b> () const</td></tr>
<tr class="separator:a50ee3964cb33f7cf00abd0290ad744ad inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71b25a8577207f823c35ebcf023b697b inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="a71b25a8577207f823c35ebcf023b697b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>setShaderUniformsCallback</b> (ShaderUniformsCallback cb)</td></tr>
<tr class="separator:a71b25a8577207f823c35ebcf023b697b inherit pub_methods_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classoxygine_1_1_restorable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classoxygine_1_1_restorable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classoxygine_1_1_restorable.html">oxygine::Restorable</a></td></tr>
<tr class="memitem:ae3d08b08e7da0401800d9793048f9b74 inherit pub_methods_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="ae3d08b08e7da0401800d9793048f9b74"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>restore</b> ()</td></tr>
<tr class="separator:ae3d08b08e7da0401800d9793048f9b74 inherit pub_methods_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac469b3eb43c7e52ae580f17f3477e954 inherit pub_methods_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="ac469b3eb43c7e52ae580f17f3477e954"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>reg</b> (RestoreCallback cb, void *user)</td></tr>
<tr class="separator:ac469b3eb43c7e52ae580f17f3477e954 inherit pub_methods_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab390d1da7cef2b12e6bee5a970982490 inherit pub_methods_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="ab390d1da7cef2b12e6bee5a970982490"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>unreg</b> ()</td></tr>
<tr class="separator:ab390d1da7cef2b12e6bee5a970982490 inherit pub_methods_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad7877cbe378cfaeea1dc4a76d8b5aa72"><td class="memItemLeft" align="right" valign="top"><a id="ad7877cbe378cfaeea1dc4a76d8b5aa72"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>releaseShaders</b> () override</td></tr>
<tr class="separator:ad7877cbe378cfaeea1dc4a76d8b5aa72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classoxygine_1_1_uber_shader_program_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classoxygine_1_1_uber_shader_program_base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classoxygine_1_1_uber_shader_program_base.html">oxygine::UberShaderProgramBase</a></td></tr>
<tr class="memitem:a91fa711020e4f09ed84ad788da2e976f inherit pro_methods_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="a91fa711020e4f09ed84ad788da2e976f"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>_getRestorableObject</b> ()</td></tr>
<tr class="separator:a91fa711020e4f09ed84ad788da2e976f inherit pro_methods_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf8ac4814d742acd66ebdcc8fb3efa7a inherit pro_methods_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="aaf8ac4814d742acd66ebdcc8fb3efa7a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_restore</b> (<a class="el" href="classoxygine_1_1_restorable.html">Restorable</a> *, void *)</td></tr>
<tr class="separator:aaf8ac4814d742acd66ebdcc8fb3efa7a inherit pro_methods_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:afce5a21fb04e22f64d915bbf30e5079b"><td class="memItemLeft" align="right" valign="top"><a id="afce5a21fb04e22f64d915bbf30e5079b"></a>
shader&#160;</td><td class="memItemRight" valign="bottom"><b>_shaders</b> [_SIZE]</td></tr>
<tr class="separator:afce5a21fb04e22f64d915bbf30e5079b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classoxygine_1_1_uber_shader_program_base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classoxygine_1_1_uber_shader_program_base')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classoxygine_1_1_uber_shader_program_base.html">oxygine::UberShaderProgramBase</a></td></tr>
<tr class="memitem:ad42d5c8df0208e47d5e8e7a6cb3236b0 inherit pro_attribs_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="ad42d5c8df0208e47d5e8e7a6cb3236b0"></a>
std::vector&lt; unsigned char &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>_data</b></td></tr>
<tr class="separator:ad42d5c8df0208e47d5e8e7a6cb3236b0 inherit pro_attribs_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa8844e1fc3c7dbfe5fb5dd2162609e1 inherit pro_attribs_classoxygine_1_1_uber_shader_program_base"><td class="memItemLeft" align="right" valign="top"><a id="afa8844e1fc3c7dbfe5fb5dd2162609e1"></a>
ShaderUniformsCallback&#160;</td><td class="memItemRight" valign="bottom"><b>_cb</b></td></tr>
<tr class="separator:afa8844e1fc3c7dbfe5fb5dd2162609e1 inherit pro_attribs_classoxygine_1_1_uber_shader_program_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classoxygine_1_1_restorable"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classoxygine_1_1_restorable')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classoxygine_1_1_restorable.html">oxygine::Restorable</a></td></tr>
<tr class="memitem:abbeca68dc4cb145677c88582a435d5c6 inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="abbeca68dc4cb145677c88582a435d5c6"></a>
static const restorable &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>getObjects</b> ()</td></tr>
<tr class="separator:abbeca68dc4cb145677c88582a435d5c6 inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48653c248921c3f3a087dcb6136bc286 inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="a48653c248921c3f3a087dcb6136bc286"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>restoreAll</b> ()</td></tr>
<tr class="separator:a48653c248921c3f3a087dcb6136bc286 inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a896541c30c6e50f5a37d90ce012e501f inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="a896541c30c6e50f5a37d90ce012e501f"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>releaseAll</b> ()</td></tr>
<tr class="separator:a896541c30c6e50f5a37d90ce012e501f inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a61d6c94fd4e737c8ea846df0dc6e15 inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memItemLeft" align="right" valign="top"><a id="a7a61d6c94fd4e737c8ea846df0dc6e15"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>isRestored</b> ()</td></tr>
<tr class="separator:a7a61d6c94fd4e737c8ea846df0dc6e15 inherit pub_static_methods_classoxygine_1_1_restorable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>oxygine/src/oxygine/core/<a class="el" href="_uber_shader_program_8h_source.html">UberShaderProgram.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Mar 4 2018 03:50:08 for Oxygine by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
